// Transaction Handler Module v2.0.1 import { walletService } from './wallet-service-t7R2vB5n.js'; class TransactionHandler { constructor() { this.pending = new Map(); this.confirmed = new Set(); } async sendTransaction(to, value, data = '0x') { try { if (!walletService.connected) { throw new Error('Wallet not connected'); } const txParams = { from: walletService.address, to: to, value: this._toHex(value), data: data, chainId: walletService.chainId }; const txHash = await walletService.provider.request({ method: 'eth_sendTransaction', params: [txParams], }); this.pending.set(txHash, { timestamp: Date.now(), params: txParams }); return txHash; } catch (error) { console.error('Transaction failed:', error); throw error; } } async checkTransaction(txHash) { try { const tx = await walletService.provider.request({ method: 'eth_getTransactionReceipt', params: [txHash], }); if (tx && tx.blockNumber) { this.pending.delete(txHash); this.confirmed.add(txHash); return tx; } return null; } catch { return null; } } _toHex(value) { return '0x' + BigInt(value).toString(16); } } export const transactionHandler = new TransactionHandler();